home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 30
/
Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso
/
Aminet
/
dev
/
lang
/
SmallEiffel.lha
/
SmallEiffel
/
bin_c
/
compile_to_c42.c
< prev
next >
Wrap
C/C++ Source or Header
|
1998-12-22
|
22KB
|
1,026 lines
/*
-- ANSI C code generated by :
-- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.79) --
-- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
-- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr --
-- http://www.loria.fr/SmallEiffel --
*/
#include "compile_to_c.h"
T0* r190base_class_written(T190* C){
T0* R=NULL;
R=r64base_class((T64*)(r190written_in(C)));
return R;
}
/*No:ARGUMENT_NAME1.is_result*/
void r190mapping_c_target(T190* C,T0* a1){
T0* _rt=NULL;
T6 _flag=0;
_flag=r25call_invariant_start(a1);
_rt=X54run_type((C)->_result_type/*12*/);
/*[IF*/
if(X54is_reference(_rt)){
/*[IF*/
if(X54is_reference(a1)){
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_510));
/*]*/
/*[IRF3.5put_integer*/r45put_integer(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),X54id(a1));
/*]*/
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_172));
/*]*/
r25print_argument((T25*)(oBC12cpp),(C)->_rank/*16*/);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else{
r25print_argument((T25*)(oBC12cpp),(C)->_rank/*16*/);
}
/*FI]*/
}
else{
/*[IF*/
if(X54is_reference(a1)){
r25print_argument((T25*)(oBC12cpp),(C)->_rank/*16*/);
}
else{
r25print_argument((T25*)(oBC12cpp),(C)->_rank/*16*/);
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(_flag){
/*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T45* C1=(T45*)(oBC25out_c);
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI]*/
}
/*No:ARGUMENT_NAME1.can_be_dropped*/
T0* r190twin(T190* C){
T0* R=NULL;
R=malloc(sizeof(*C));
*((T190*)R)=*C;
return R;
}
/*No:ARGUMENT_NAME1.c_declare_for_old*/
/*No:ARGUMENT_NAME1.name_clash*/
/*No:ARGUMENT_NAME1.dca_inline_argument*/
/*No:ARGUMENT_NAME1.fz_b7*/
void r190compile_to_c(T190* C){
/*[IF*/
if(X54is_user_expanded((C)->_result_type/*12*/)){
/*[IF*/
if(X54is_dummy_expanded((C)->_result_type/*12*/)){
}
else{
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\52';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI]*/
}
/*FI]*/
r25print_argument((T25*)(oBC12cpp),(C)->_rank/*16*/);
}
/*No:ARGUMENT_NAME1.fz_b8*/
/*No:ARGUMENT_NAME1.isa_dca_inline_argument*/
T0* r190written_in(T190* C){
T0* R=NULL;
T0* _sp=NULL;
_sp=(C)->_start_position/*4*/;
/*[IF*/
if((_sp)!=((void*)(NULL))){
R=(((T70*)_sp))->_base_class_name/*0*/;
}
/*FI]*/
return R;
}
/*No:ARGUMENT_NAME1.set_result_type*/
void r190name_clash_for(T190* C,T0* a1,T0* a2){
T0* _bc=NULL;
T0* _rc=NULL;
T0* _rf=NULL;
_bc=r190base_class_written(C);
/*[IF*/
if(r63has_simple_feature_name(((T63*)_bc),(C)->_to_string/*8*/)){
_rc=X54run_class(a1);
_rf=r24get_feature_with(((T24*)_rc),(C)->_to_string/*8*/);
/*[IF*/
if((_rf)!=((void*)(NULL))){
r21add_position(X51start_position(_rf));
}
/*FI]*/
r190error((C)->_start_position/*4*/,a2);
}
/*FI]*/
}
void r190error(T0* a1,T0* a2){
r21add_position(a1);
r21error((T21*)(oBC12eh),a2);
}
/*No:ARGUMENT_NAME1.set_rank*/
void r190make(T190* C,T0* a1,T0* a2){
C->_start_position=a1;
C->_to_string=r84item(a2);
}
/*No:ARGUMENT_NAME1.is_current*/
void r190mapping_c_arg(T190* C,T0* a1){
T0* _rt=NULL;
_rt=X54run_type((C)->_result_type/*12*/);
/*[IF*/
if(X54is_reference(_rt)){
/*[IF*/
if(X54is_reference(a1)){
r25print_argument((T25*)(oBC12cpp),(C)->_rank/*16*/);
}
else{
X54to_expanded(_rt);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
r25print_argument((T25*)(oBC12cpp),(C)->_rank/*16*/);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI]*/
}
else{
/*[IF*/
if(X54is_reference(a1)){
X54to_reference(_rt);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IF*/
if(X54is_user_expanded(_rt)){
/*[IF*/
if(!(X54is_dummy_expanded(_rt))){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\52';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI]*/
}
/*FI]*/
r25print_argument((T25*)(oBC12cpp),(C)->_rank/*16*/);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else{
r25print_argument((T25*)(oBC12cpp),(C)->_rank/*16*/);
}
/*FI]*/
}
/*FI]*/
}
/*No:ARGUMENT_NAME1.is_void*/
/*No:ARGUMENT_NAME1.afd_check*/
/*No:PROC_CALL_1.call_proc_call_c2c*/
/*No:PROC_CALL_1.feature_name*/
void r164finalize(T164* C){
T0* _rf=NULL;
T0* _rc=NULL;
_rf=(C)->_run_feature/*12*/;
_rc=X54run_class(/*X51current_type*/((T0*)(((T324*)_rf))->_current_type/*4*/));
C->_run_feature=r24dynamic((T24*)(r328first((T328*)((((T24*)_rc))->_running/*12*/))),_rf);
}
T0* r164start_position(T164* C){
T0* R=NULL;
R=X83start_position((C)->_feature_name/*8*/);
return R;
}
T0* r164add_comment(T164* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r39count(((T39*)((((T82*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
/*AF*/else{
{T225*n=malloc(sizeof(*n));
*n=M225;
r225make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
T6 r164use_current(T164* C){
T6 R=0;
T0* _s=NULL;
T0* _ms=NULL;
/*[IF*/
if((((T0*)ms14_15220))==((void*)(X83to_string((C)->_feature_name/*8*/)))){
_ms=r164arg1(C);
if(NULL!=(_ms))switch(((T0*)_ms)->id) {
case 171:
break;
default:
_ms=NULL;
};_s=(((T171*)_ms))->_to_string/*8*/;
R=r7has(((T7*)_s),'C');
}
else{
R=r164standard_use_current(C);
}
/*FI]*/
return R;
}
T0* r164to_runnable(T164* C,T0* a1){
T0* R=NULL;
T0* _rf=NULL;
T0* _a=NULL;
T0* _t=NULL;
_t=r164runnable_expression((C)->_target/*4*/,a1);
_a=r164runnable_args((C)->_arguments/*16*/,a1);
_rf=r164run_feature_for(C,_t,a1);
/*[IF*/
if(((C)->_run_feature/*12*/)==((void*)(NULL))){
C->_target=_t;
C->_arguments=_a;
C->_run_feature=_rf;
r164run_feature_match(C,a1);
R=(T0*)C;
}
else if(((_t)==((void*)((C)->_target/*4*/)))&&((_a)==((void*)((C)->_arguments/*16*/)))){
R=(T0*)C;
}
else{
{T164*n=malloc(sizeof(*n));
*n=M164;
r164with(n,_t,(C)->_feature_name/*8*/,_a,_rf,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
/*No:PROC_CALL_1.is_pre_computable*/
/*No:PROC_CALL_1.fz_bad_argument*/
T6 r164standard_use_current(T164* C){
T6 R=0;
/*[IF*/
{/*AT*/R=X149use_current((C)->_arguments/*16*/);
}
/*FI]*/
/*[IF*/
if(R){
}
else if(X56is_current((C)->_target/*4*/)){
R=X51use_current((C)->_run_feature/*12*/);
}
else{
R=X56use_current((C)->_target/*4*/);
}
/*FI]*/
return R;
}
void r164collect_c_tmp(T164* C){
/*[IF*/
if(((C)->_run_feature/*12*/)!=((void*)(NULL))){
X51collect_c_tmp((C)->_run_feature/*12*/);
}
/*FI]*/
X56collect_c_tmp((C)->_target/*4*/);
/*[IF*/
if(((C)->_arguments/*16*/)!=((void*)(NULL))){
X149collect_c_tmp((C)->_arguments/*16*/);
}
/*FI]*/
}
/*No:PROC_CALL_1.run_feature*/
T0* r164runnable_args(T0* a1,T0* a2){
T0* R=NULL;
R=X149to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
r21add_position(X149start_position(a1));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms13_13065);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
/*No:PROC_CALL_1.fz_07*/
T0* r164make_runnable(T164* C,T0* a1,T0* a2,T0* a3){
T0* R=NULL;
/*[IF*/
if(((C)->_run_feature/*12*/)==((void*)(NULL))){
C->_target=a1;
C->_arguments=a2;
C->_run_feature=a3;
R=(T0*)C;
}
else{
{T164*n=malloc(sizeof(*n));
*n=M164;
r164make(n,a1,(C)->_feature_name/*8*/,a2);
R=(T0*)n;
}
/*[IRF3.3set_run_feature*/((((T164*)(((T164*)R))))->_run_feature)=(a3);
/*]*/
}
/*FI]*/
return R;
}
/*No:PROC_CALL_1.us_c_inline_c*/
/*No:PROC_CALL_1.arg_count*/
void r164with(T164* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
C->_target=a1;
C->_feature_name=a2;
C->_arguments=a3;
C->_run_feature=a4;
r164run_feature_match(C,a5);
}
/*No:PROC_CALL_1.fatal_error*/
void r164run_feature_match(T164* C,T0* a1){
r164run_feature_has_no_result(C);
X149match_with((C)->_arguments/*16*/,(C)->_run_feature/*12*/,a1);
}
/*No:PROC_CALL_1.arguments*/
T0* r164runnable_expression(T0* a1,T0* a2){
T0* R=NULL;
R=X56to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
r21add_position(X56start_position(a1));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms118_16515);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
void r164run_feature_has_no_result(T164* C){
/*[IF*/
if((X51result_type((C)->_run_feature/*12*/))!=((void*)(NULL))){
r21add_position(X51start_position((C)->_run_feature/*12*/));
r21add_position(X83start_position((C)->_feature_name/*8*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms162_67122);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
}
void r164compile_to_c(T164* C){
r25se_trace_ins((T25*)(oBC12cpp),r164start_position(C));
/*[IRF3.6call_proc_call_c2c*/{T164* C1=C;
r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
}/*]*/
}
T0* r164arg1(T164* C){
T0* R=NULL;
R=/*X149first*/((T0*)/*(IRF4.3first*/((T149*)((C)->_arguments/*16*/))->_first_one/*4*//*)*/);
return R;
}
/*No:PROC_CALL_1.set_run_feature*/
T0* r164run_feature_for(T164* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=X54run_class(X56result_type(a1));
R=r24get_rf(((T24*)_rc),a1,(C)->_feature_name/*8*/,a2);
return R;
}
/*No:PROC_CALL_1.target*/
/*No:PROC_CALL_1.end_mark_comment*/
void r164make(T164* C,T0* a1,T0* a2,T0* a3){
C->_target=a1;
C->_feature_name=a2;
C->_arguments=a3;
}
void r164afd_check(T164* C){
T0* _running=NULL;
T0* _rc=NULL;
_rc=X54run_class(X56result_type((C)->_target/*4*/));
_running=(((T24*)_rc))->_running/*12*/;
/*[IF*/
if((_running)==((void*)(NULL))){
r21add_position(X56start_position((C)->_target/*4*/));
/*[IRF3.6append*/{T0* b1=((T0*)ms118_181815);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X54run_time_mark((((T24*)_rc))->_current_type/*0*/);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms13_20094);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21print_as_warning((T21*)(oBC12eh));
r24set_at_run_time(((T24*)_rc));
}
else if((r328count(((T328*)_running)))>(1)){
r331update((C)->_target/*4*/,(C)->_run_feature/*12*/);
}
/*FI]*/
X56afd_check((C)->_target/*4*/);
/*[IF*/
{/*AT*/X149afd_check((C)->_arguments/*16*/);
}
/*FI]*/
}
/*No:CALL_INFIX_INT_REM.static_value*/
/*No:CALL_INFIX_INT_REM.call_proc_call_c2c*/
/*No:CALL_INFIX_INT_REM.feature_name*/
void r134finalize(T134* C){
T0* _rf=NULL;
T0* _rc=NULL;
_rf=(C)->_run_feature/*16*/;
_rc=X54run_class(/*X51current_type*/((T0*)(((T324*)_rf))->_current_type/*4*/));
C->_run_feature=r24dynamic((T24*)(r328first((T328*)((((T24*)_rc))->_running/*12*/))),_rf);
}
T6 r134is_static(T134* C){
T6 R=0;
/*[IF*/
if(X54is_integer(r134result_type(C))){
/*[IF*/
if((X56is_static((C)->_target/*4*/))&&(X56is_static(r134arg1(C)))){
R=1;
C->_static_value_mem=(X56static_value((C)->_target/*4*/))%(X56static_value(r134arg1(C)));
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_INT_REM.is_manifest_string*/
T0* r134start_position(T134* C){
T0* R=NULL;
R=((T138*)((C)->_feature_name/*12*/))->_start_position/*8*/;
return R;
}
/*No:CALL_INFIX_INT_REM.c_simple*/
T0* r134add_comment(T134* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r39count(((T39*)((((T82*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
else{
{T230*n=malloc(sizeof(*n));
*n=M230;
r230make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
T2 r134to_integer(T134* C){
T2 R=0;
r134error(r134start_position(C),((T0*)ms13_45846));
return R;
}
T6 r134use_current(T134* C){
T6 R=0;
/*[IF*/
{/*AT*/R=X149use_current((C)->_arguments/*8*/);
}
/*FI]*/
/*[IF*/
if(R){
}
else if(X56is_current((C)->_target/*4*/)){
R=X51use_current((C)->_run_feature/*16*/);
}
else{
R=X56use_current((C)->_target/*4*/);
}
/*FI]*/
return R;
}
T0* r134to_runnable(T134* C,T0* a1){
T0* R=NULL;
T0* _rf=NULL;
T0* _tbee=NULL;
T0* _at=NULL;
T0* _tt=NULL;
T0* _a=NULL;
T0* _t=NULL;
_t=r134runnable_expression((C)->_target/*4*/,a1);
_a=r134runnable_args((C)->_arguments/*8*/,a1);
_tt=X56result_type(_t);
_at=X56result_type(r134arg1(C));
/*[IF*/
/*AF*//*AE*/
/*FI]*/
_rf=r134run_feature_for(C,_t,a1);
/*[IF*/
if(((C)->_run_feature/*16*/)==((void*)(NULL))){
C->_target=_t;
C->_arguments=_a;
C->_run_feature=_rf;
r134run_feature_match(C,a1);
R=(T0*)C;
}
else if(((_t)==((void*)((C)->_target/*4*/)))&&((_a)==((void*)((C)->_arguments/*8*/)))){
R=(T0*)C;
}
else{
{T134*n=malloc(sizeof(*n));
*n=M134;
r134with(n,_t,(C)->_feature_name/*12*/,_a,_rf,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
void r134compile_to_c_old(T134* C){
X56compile_to_c_old((C)->_target/*4*/);
/*[IF*/
{/*AT*/X149compile_to_c_old((C)->_arguments/*8*/);
}
/*FI]*/
}
/*No:CALL_INFIX_INT_REM.is_pre_computable*/
/*No:CALL_INFIX_INT_REM.fz_bad_argument*/
void r134collect_c_tmp(T134* C){
/*[IF*/
if(((C)->_run_feature/*16*/)!=((void*)(NULL))){
X51collect_c_tmp((C)->_run_feature/*16*/);
}
/*FI]*/
X56collect_c_tmp((C)->_target/*4*/);
/*[IF*/
if(((C)->_arguments/*8*/)!=((void*)(NULL))){
X149collect_c_tmp((C)->_arguments/*8*/);
}
/*FI]*/
}
/*No:CALL_INFIX_INT_REM.fz_iinaiv*/
T0* r134result_type(T134* C){
T0* R=NULL;
T0* _tla=NULL;
R=X51result_type((C)->_run_feature/*16*/);
/*[IF*/
if(X54is_like_current(R)){
R=/*X51current_type*/((T0*)((T324*)((C)->_run_feature/*16*/))->_current_type/*4*/);
}
else{
_tla=R;
if(NULL!=(_tla))switch(((T0*)_tla)->id) {
case 258:
break;
default:
_tla=NULL;
};/*[IF*/
if((_tla)!=((void*)(NULL))){
R=X54run_type(X56result_type(r134arg1(C)));
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_INT_REM.static_value_mem*/
/*No:CALL_INFIX_INT_REM.run_feature*/
T0* r134runnable_args(T0* a1,T0* a2){
T0* R=NULL;
R=X149to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
r21add_position(X149start_position(a1));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms13_13065);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_INT_REM.fz_07*/
/*No:CALL_INFIX_INT_REM.arg_count*/
void r134with(T134* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
C->_target=a1;
C->_feature_name=a2;
C->_arguments=a3;
C->_run_feature=a4;
r134run_feature_match(C,a5);
}
/*No:CALL_INFIX_INT_REM.is_result*/
/*No:CALL_INFIX_INT_REM.fatal_error*/
void r134mapping_c_target(T134* C,T0* a1){
T0* _actual_type=NULL;
T6 _flag=0;
_flag=r25call_invariant_start(a1);
_actual_type=X54run_type(r134result_type(C));
/*[IF*/
if(X54is_reference(_actual_type)){
/*[IF*/
if(X54is_reference(a1)){
X54mapping_cast(a1);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T134* C1=C;
r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else{
X54to_expanded(_actual_type);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T134* C1=C;
r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI]*/
}
else{
/*[IF*/
if(X54is_reference(a1)){
X54to_reference(_actual_type);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T134* C1=C;
r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else{
/*[IF*/
if(X54need_c_struct(a1)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\46';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T134* C1=C;
r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else{
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T134* C1=C;
r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
}/*]*/
/*]*/
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(_flag){
/*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T45* C1=(T45*)(oBC25out_c);
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI]*/
}
void r134run_feature_match(T134* C,T0* a1){
r134run_feature_has_result(C);
X149match_with((C)->_arguments/*8*/,(C)->_run_feature/*16*/,a1);
}
/*No:CALL_INFIX_INT_REM.arguments*/
T0* r134runnable_expression(T0* a1,T0* a2){
T0* R=NULL;
R=X56to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
r21add_position(X56start_position(a1));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms118_16515);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_INT_REM.can_be_dropped*/
void r134c_declare_for_old(T134* C){
X56c_declare_for_old((C)->_target/*4*/);
/*[IF*/
{/*AT*/X149c_declare_for_old((C)->_arguments/*8*/);
}
/*FI]*/
}
/*No:CALL_INFIX_INT_REM.implicit_cast*/
/*No:CALL_INFIX_INT_REM.dca_inline_argument*/
/*No:CALL_INFIX_INT_REM.compile_to_c*/
/*No:CALL_INFIX_INT_REM.us_backslash_backslash*/
/*No:CALL_INFIX_INT_REM.isa_dca_inline_argument*/
T0* r134arg1(T134* C){
T0* R=NULL;
R=/*X149first*/((T0*)/*(IRF4.3first*/((T149*)((C)->_arguments/*8*/))->_first_one/*4*//*)*/);
return R;
}
void r134run_feature_has_result(T134* C){
/*[IF*/
if((X51result_type((C)->_run_feature/*16*/))==((void*)(NULL))){
r21add_position(X51start_position((C)->_run_feature/*16*/));
r21add_position(((T138*)((C)->_feature_name/*12*/))->_start_position/*8*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms117_53650);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
}
T0* r134run_feature_for(T134* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=X54run_class(X56result_type(a1));
R=r24get_rf(((T24*)_rc),a1,(C)->_feature_name/*12*/,a2);
return R;
}
/*No:CALL_INFIX_INT_REM.target*/
void r134error(T0* a1,T0* a2){
r21add_position(a1);
r21error((T21*)(oBC12eh),a2);
}
void r134make(T134* C,T0* a1,T0* a2,T0* a3){
C->_target=a1;
{T138*n=malloc(sizeof(*n));
*n=M138;
r138make(n,r134operator(),a2);
C->_feature_name=(T0*)n;
}
{T149*n=malloc(sizeof(*n));
*n=M149;
/*[IRF3.3make_1*/((((T149*)(n)))->_first_one)=(a3);
/*]*/
C->_arguments=(T0*)n;
}
}
/*No:CALL_INFIX_INT_REM.is_current*/
void r134mapping_c_arg(T134* C,T0* a1){
T0* _actual_type=NULL;
_actual_type=X54run_type(r134result_type(C));
/*[IF*/
if(X54is_reference(_actual_type)){
/*[IF*/
if(X54is_reference(a1)){
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T134* C1=C;
r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
}/*]*/
/*]*/
}
else{
X54to_expanded(_actual_type);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T134* C1=C;
r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI]*/
}
else{
/*[IF*/
if(X54is_reference(a1)){
X54to_reference(_actual_type);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T134* C1=C;
r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else{
/*[IF*/
if(X54need_c_struct(a1)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\46';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T134* C1=C;
r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else{
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T134* C1=C;
r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
}/*]*/
/*]*/
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}
/*No:CALL_INFIX_INT_REM.is_void*/
T0* r134operator(void){
T0* R=NULL;
R=((T0*)ms14_374);
return R;
}
void r134afd_check(T134* C){
T0* _running=NULL;
T0* _rc=NULL;
_rc=X54run_class(X56result_type((C)->_target/*4*/));
_running=(((T24*)_rc))->_running/*12*/;
/*[IF*/
if((_running)==((void*)(NULL))){
r21add_position(X56start_position((C)->_target/*4*/));
/*[IRF3.6append*/{T0* b1=((T0*)ms118_181815);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X54run_time_mark((((T24*)_rc))->_current_type/*0*/);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms13_20094);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21print_as_warning((T21*)(oBC12eh));
r24set_at_run_time(((T24*)_rc));
}
else if((r328count(((T328*)_running)))>(1)){
r331update((C)->_target/*4*/,(C)->_run_feature/*16*/);
}
/*FI]*/
X56afd_check((C)->_target/*4*/);
/*[IF*/
{/*AT*/X149afd_check((C)->_arguments/*8*/);
}
/*FI]*/
}